#pragma once
#include "../SGD Wrappers/SGD_GraphicsManager.h"
#include "../SGD Wrappers/SGD_Geometry.h"
#include "../SGD Wrappers/SGD_Color.h"
#include "../SGD Wrappers/SGD_String.h"


class BitmapFont
{
public:
	///////////////////////////////////////////////
	BitmapFont	(void);
	~BitmapFont(void);
	
	///////////////////////////////////////////////
	// Init & Shutdown
	void Initialize	( void );	// should have parameters
	void Shutdown	( void );
	
	///////////////////////////////////////////////
	// Draw Text
	void Draw(	SGD::String * Output, int nX, int nY,
				float fScale, SGD::Color Color ) const;

private:
	///////////////////////////////////////////////
	// Cell Algorithm helper method
	SGD::Rectangle CellAlgorithm( int id ) const;
	
	///////////////////////////////////////////////
	// image
	SGD::HTexture			m_nImageID;

	// cell algorithm
	int			m_nCharWidth;
	int			m_nCharHeight;
	int			m_nNumCols;
	int			m_nNumRows;

	// font info
	char		m_cFirstChar;
	bool		m_bOnlyUppercase;
};

